home *** CD-ROM | disk | FTP | other *** search
- // SSnowMan.cpp: Implementierung der Klasse SSnowMan.
- //
- //////////////////////////////////////////////////////////////////////
-
- #include "stdafx.h"
- #include "stdafx.h"
- #include "SSnowMan.h"
-
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
-
-
- #define ROT_SPEED 0.1f
-
- #define BALL_UNTEN 1.45f
- #define BALL_MITTE 1.0f
- #define BALL_OBEN 0.650f
-
- //////////////////////////////////////////////////////////////////////
- // Konstruktion/Destruktion
- //////////////////////////////////////////////////////////////////////
-
- SSnowMan::SSnowMan()
- {
- position[0] = 0.0f;
- position[1] = 0.0f;
- position[2] = 0.0f;
- rotation = 0.0f;
- }
-
- SSnowMan::~SSnowMan()
- {
-
- }
-
- void SSnowMan::create()
- {
- schnee.createMipmap("Data/Schneeman.bmp");
- muetze.createMipmap("Data/Muetze.bmp");
-
- object = gluNewQuadric();
- gluQuadricNormals(object,GL_SMOOTH);
- gluQuadricTexture(object,GL_TRUE);
-
- nase = gluNewQuadric();
- gluQuadricNormals(nase,GL_SMOOTH);
- gluQuadricTexture(nase,GL_FALSE);
- }
-
- void SSnowMan::update(float frametime)
- {
- rotation += ROT_SPEED*frametime;
-
- glPushMatrix();
-
- //Standard Position
- glTranslatef(position[0],position[1]+BALL_UNTEN,position[2]);
- glRotatef(rotation,0.0f,1.0f,0.0f);
-
- //***Schneeman***
- // (3 Kugeln)
-
- glColor3f(1.0f,1.0f,1.0f);
-
- schnee.select();
- gluSphere(object,BALL_UNTEN,30,30);
-
- glTranslatef(0.0,BALL_UNTEN+BALL_MITTE,0.0f);
- gluSphere(object,BALL_MITTE,30,30);
-
- glTranslatef(0.0f,BALL_MITTE+BALL_OBEN,0.0f);
-
- gluSphere(object,BALL_OBEN,30,30);
-
- //****MUETZE*****
-
- glEnable(GL_BLEND);
-
- muetze.select();
-
- glBegin(GL_QUADS);
- glNormal3f(0.0f,0.0f,1.0f);
- glColor3f(1.0,1.0,1.0);
- glTexCoord2f(0.0,1.0); glVertex3f(0.0,BALL_OBEN+1.0,BALL_OBEN);
- glTexCoord2f(1.0,1.0); glVertex3f(0.0,BALL_OBEN+1.0,-BALL_OBEN);
- glTexCoord2f(1.0,0.0); glVertex3f(0.0,BALL_OBEN-0.45,-BALL_OBEN);
- glTexCoord2f(0.0,0.0); glVertex3f(0.0,BALL_OBEN-0.45,BALL_OBEN);
- glEnd();
-
- glDisable(GL_BLEND);
-
-
-
- glDisable(GL_TEXTURE_2D);
-
- /***/
-
- glTranslatef(BALL_OBEN,0.0,0.0);
-
- //****NASE*****
-
- glColor3f(1.0,0.5,0.0);
- glRotatef(90.0f,0.0f,1.0f,0.0f);
- gluCylinder(nase,0.1,0.0,0.15,15,15);
-
- glEnable(GL_TEXTURE_2D);
-
- //****AUGEN****
-
- //wieder zurⁿck drehen
- glRotatef(-90.0f,0.0f,1.0f,0.0f);
-
- glTranslatef(0.0f,0.25,0.18f);
-
- glColor3f(0.0f,0.0f,0.0f);
- gluSphere(nase,0.05f,15,15);
-
- glTranslatef(0.0f,0.0f,-0.36f);
- gluSphere(nase,0.05f,15,15);
-
- //****MUND****
-
- glTranslatef(0.0f,-0.65f,0.18f);
- gluSphere(nase,0.05f,15,15);
-
- glTranslatef(0.0f,0.10f,0.18f);
- gluSphere(nase,0.05f,15,15);
-
- glTranslatef(0.0f,0.0f,-0.36f);
- gluSphere(nase,0.05f,15,15);
-
-
- //**************
-
- glPopMatrix();
- }
-